rte_power.h(3) | DPDK | rte_power.h(3) |
NAME¶
rte_power.h
SYNOPSIS¶
#include <rte_common.h>
#include <rte_log.h>
#include <rte_power_guest_channel.h>
Data Structures¶
struct rte_power_core_capabilities
Typedefs¶
typedef uint32_t(* rte_power_freqs_t) (unsigned int
lcore_id, uint32_t *freqs, uint32_t num)
typedef uint32_t(* rte_power_get_freq_t) (unsigned int lcore_id)
typedef int(* rte_power_set_freq_t) (unsigned int lcore_id,
uint32_t index)
typedef int(* rte_power_freq_change_t) (unsigned int lcore_id)
typedef int(* rte_power_get_capabilities_t) (unsigned int
lcore_id, struct rte_power_core_capabilities *caps)
Functions¶
int rte_power_check_env_supported (enum
power_management_env env)
int rte_power_set_env (enum power_management_env env)
void rte_power_unset_env (void)
enum power_management_env rte_power_get_env (void)
int rte_power_init (unsigned int lcore_id)
int rte_power_exit (unsigned int lcore_id)
Variables¶
rte_power_freq_change_t rte_power_freq_up
rte_power_freq_change_t rte_power_freq_down
rte_power_freq_change_t rte_power_freq_max
rte_power_freq_change_t rte_power_freq_min
rte_power_freq_change_t rte_power_turbo_status
rte_power_freq_change_t rte_power_freq_enable_turbo
rte_power_freq_change_t rte_power_freq_disable_turbo
Detailed Description¶
RTE Power Management
Definition in file rte_power.h.
Typedef Documentation¶
typedef uint32_t(* rte_power_freqs_t) (unsigned int lcore_id, uint32_t *freqs, uint32_t num)¶
Get the available frequencies of a specific lcore. Function pointer definition. Review each environments specific documentation for usage.
Parameters
freqs The buffer array to save the frequencies.
num The number of frequencies to get.
Returns
Definition at line 111 of file rte_power.h.
typedef uint32_t(* rte_power_get_freq_t) (unsigned int lcore_id)¶
Return the current index of available frequencies of a specific lcore. Function pointer definition. Review each environments specific documentation for usage.
Parameters
Returns
Definition at line 127 of file rte_power.h.
typedef int(* rte_power_set_freq_t) (unsigned int lcore_id, uint32_t index)¶
Set the new frequency for a specific lcore by indicating the index of available frequencies. Function pointer definition. Review each environments specific documentation for usage.
Parameters
index The index of available frequencies.
Returns
- 1 on success with frequency changed.
- 0 on success without frequency changed.
- Negative on error.
Definition at line 147 of file rte_power.h.
typedef int(* rte_power_freq_change_t) (unsigned int lcore_id)¶
Function pointer definition for generic frequency change functions. Review each environments specific documentation for usage.
Parameters
Returns
- 1 on success with frequency changed.
- 0 on success without frequency changed.
- Negative on error.
Definition at line 163 of file rte_power.h.
typedef int(* rte_power_get_capabilities_t) (unsigned int lcore_id, struct rte_power_core_capabilities *caps)¶
Returns power capabilities for a specific lcore. Function pointer definition. Review each environments specific documentation for usage.
Parameters
caps pointer to rte_power_core_capabilities object.
Returns
- 0 on success.
- Negative on error.
Definition at line 238 of file rte_power.h.
Function Documentation¶
int rte_power_check_env_supported (enum power_management_env env)¶
Check if a specific power management environment type is supported on a currently running system.
Parameters
Returns
- 1 if supported
- 0 if unsupported
- -1 if error, with rte_errno indicating reason for error.
int rte_power_set_env (enum power_management_env env)¶
Set the default power management implementation. If this is not called prior to rte_power_init(), then auto-detect of the environment will take place. It is thread safe. New env can be set only in uninitialized state (thus rte_power_unset_env must be called if different env was already set).
Parameters
Returns
- 0 on success.
- Negative on error.
void rte_power_unset_env (void)¶
Unset the global environment configuration. This can only be called after all threads have completed.
enum power_management_env rte_power_get_env (void)¶
Get the default power management implementation.
Returns
int rte_power_init (unsigned int lcore_id)¶
Initialize power management for a specific lcore. If rte_power_set_env() has not been called then an auto-detect of the environment will start and initialise the corresponding resources.
Parameters
Returns
- 0 on success.
- Negative on error.
int rte_power_exit (unsigned int lcore_id)¶
Exit power management on a specific lcore. This will call the environment dependent exit function.
Parameters
Returns
- 0 on success.
- Negative on error.
Variable Documentation¶
rte_power_freq_change_t rte_power_freq_up [extern]¶
Scale up the frequency of a specific lcore according to the available frequencies. Review each environments specific documentation for usage.
rte_power_freq_change_t rte_power_freq_down [extern]¶
Scale down the frequency of a specific lcore according to the available frequencies. Review each environments specific documentation for usage.
rte_power_freq_change_t rte_power_freq_max [extern]¶
Scale up the frequency of a specific lcore to the highest according to the available frequencies. Review each environments specific documentation for usage.
rte_power_freq_change_t rte_power_freq_min [extern]¶
Scale down the frequency of a specific lcore to the lowest according to the available frequencies. Review each environments specific documentation for usage..
rte_power_freq_change_t rte_power_turbo_status [extern]¶
Query the Turbo Boost status of a specific lcore. Review each environments specific documentation for usage..
rte_power_freq_change_t rte_power_freq_enable_turbo [extern]¶
Enable Turbo Boost for this lcore. Review each environments specific documentation for usage..
rte_power_freq_change_t rte_power_freq_disable_turbo [extern]¶
Disable Turbo Boost for this lcore. Review each environments specific documentation for usage..
Author¶
Generated automatically by Doxygen for DPDK from the source code.
Fri Dec 15 2023 | Version 23.11.0 |